// IMusicPlayerBridge.aidl
package com.xw.musicplayer;

import com.xw.musicplayer.bean.Music;
import com.xw.musicplayer.listener.IOnStopServiceListener;
import com.xw.musicplayer.listener.IOnMusicChangeListener;
import com.xw.musicplayer.listener.IOnBufferingListener;
import com.xw.musicplayer.listener.IOnStatusChangeListener;

// Declare any non-default types here with import statements

interface IMusicPlayerBridge {

    void setMusicList(String listId,in List<Music> musics);

    List<Music> getMusicList();

    Music getMusic(int poosition);

    String getMusicListId();

    int getPlayingIndex();

    int getMusicCount();

    void play();

    void playIndex(int position);

    void playNext();

    void playPrevious();

    void pause();

    void reset();

    void setSeek(int milliseconds);

    long getCurrentPosition();

    long getDuration();

    int getBufferedPercentage();

    boolean isPlaying();

    void registerOnStopListener(IOnStopServiceListener listener);

    void unregisterOnStopListener(IOnStopServiceListener listener);

    void registerOnMusicChangeListener(IOnMusicChangeListener listener);

    void unregisterOnMusicChangeListener(IOnMusicChangeListener listener);

    void registerOnBufferingListener(IOnBufferingListener listener);

    void unregisterOnBufferingListener(IOnBufferingListener listener);

    void registerOnStatusChangeListener(IOnStatusChangeListener listener);

    void unregisterOnStatusChangeListener(IOnStatusChangeListener listener);


}